<!DOCTYPE html>
<html lang=>
    <head>
        <meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta http-equiv="cache-control" content="no-cache" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<meta name="format-detection" content="telephone=no" />
<meta name="author" content='yi_Xu' />
<meta name="description" content='因为个人喜好，我学习了相关的基础知识，搭建了这个静态博客。在这摸索的过程中，我学到了许多东西，希望记录下一些应用心得。第一期的内容，主要是结合经历，对 git 的基础操作有个记录。' />
<meta name="keywords" content='web,python,blog,batch' />
<meta name="generator" content="Hugo 0.80.0" />
<meta property="og:url" content='https://www.yixuju.cn/other/the-gains-from-personal-blog-building-1/' />
<meta property="og:title" content='【建站拾橞】第一期：git 初探与基础应用' />
<meta property="og:description" content='因为个人喜好，我学习了相关的基础知识，搭建了这个静态博客。在这摸索的过程中，我学到了许多东西，希望记录下一些应用心得。第一期的内容，主要是结合经历，对 git 的基础操作有个记录。' />
<meta property="og:site_name" content='逸絮居' />
<meta property="og:image" content='https://www.yixuju.cn/img/background.jpg' />
<meta property="og:locale" content='zh-CN' />
<meta property="fb:app_id" content='198934840692875' />
<meta property="fb:admins" content='' />
<meta itemprop="name" content='【建站拾橞】第一期：git 初探与基础应用' />
<meta itemprop="description" content='因为个人喜好，我学习了相关的基础知识，搭建了这个静态博客。在这摸索的过程中，我学到了许多东西，希望记录下一些应用心得。第一期的内容，主要是结合经历，对 git 的基础操作有个记录。' />
<meta itemprop="image" content='https://www.yixuju.cn/img/background.jpg' />
<meta name="twitter:card" content='summary' />

<meta name="twitter:site" content='' />

<meta name="twitter:creator" content='' />
<meta name="twitter:title" content='【建站拾橞】第一期：git 初探与基础应用' />
<meta name="twitter:description" content='因为个人喜好，我学习了相关的基础知识，搭建了这个静态博客。在这摸索的过程中，我学到了许多东西，希望记录下一些应用心得。第一期的内容，主要是结合经历，对 git 的基础操作有个记录。' />
<meta name="twitter:image" content='https://www.yixuju.cn/img/background.jpg' />
<title>【建站拾橞】第一期：git 初探与基础应用 | 逸絮居 </title>
<link rel="canonical" href=https://www.yixuju.cn/other/the-gains-from-personal-blog-building-1/ />
<link rel="icon" type="image/x-icon" href=/favicon.ico />
<link rel="icon" type="image/png" href=/favicon.png />
<link rel="alternate" type="application/rss+xml" title="RSS" href="/index.xml" />
<link rel="stylesheet" href=/css/style.min.css />
<script src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.3.1/jquery.min.js"></script>
<script src="https://unpkg.com/clipboard@2/dist/clipboard.min.js"></script>
<script src=/js/custom.min.js></script>
        
        
    </head>
    <body>
        <div>
    <a href=/about>
        <img id="mobile-avatar" class="mobile animated zoomIn" src=/img/avatar.jpg alt=yi_Xu>
    </a>
</div>
<div id="mobile-navbar" class="mobile">
    <div class=" button mobile-navbar">
        <span>菜单</span>
    </div>
</div>
<div id="gotop" class="mobile gotop">
    <div class=" button mobile-navbar">
        <span>置顶</span>
    </div>
</div>
<div id="jquery-menu" class="mobile">
    <ul id="mobile-menu">
        
            
                <li>
                    <a href= />
                        首页
                    </a>
                </li>
            
        
            
                
                    <li>
                        <a href=/programming/>编程体验</a>
                    </li>
                
                    <li>
                        <a href=/other/>其他分享</a>
                    </li>
                
                    <li>
                        <a href=/blog/>生活感悟</a>
                    </li>
                
            
        
            
                <li>
                    <a href= /page/about/>
                        关于
                    </a>
                </li>
            
        
            
                <li>
                    <a href= /page/cards/>
                        卡片集
                    </a>
                </li>
            
        
    
    <li id="mobile-toc-title">目录<i id="down-up" class="icon-double-angle-down"></i>
    <div id="mobile-toc" class="mobile"><nav id="TableOfContents">
  <ul>
    <li><a href="#git-初探什么是-git-与为什么用它">git 初探——什么是 git 与为什么用它</a></li>
    <li><a href="#git-的基本指令">git 的基本指令</a>
      <ul>
        <li><a href="#git-仓库建立与第一次提交更改">git 仓库建立与第一次提交更改</a></li>
        <li><a href="#添加远程库与推送">添加远程库与推送</a></li>
        <li><a href="#github-的一些相关指令">github 的一些相关指令</a></li>
      </ul>
    </li>
    <li><a href="#hugo-搭建过程中的进阶操作">hugo 搭建过程中的进阶操作</a>
      <ul>
        <li><a href="#静态站点的含义">静态站点的含义</a></li>
        <li><a href="#重新恢复结构">重新恢复结构</a></li>
        <li><a href="#强制推送">强制推送</a></li>
        <li><a href="#拉取与强制拉取">拉取与强制拉取</a></li>
      </ul>
    </li>
    <li><a href="#最后说明">最后说明</a></li>
  </ul>
</nav></div></li>

</div>
        <header>
    <div id="header">
        <a id = "site-title" href= https://www.yixuju.cn >
            <span>逸絮居</span>
        </a>
        <ul id="header-menu">
            <li>
                <a class="gotop" href="#">置顶</a>
            </li>
            
            
                <li>
                    <a href= / >
                        首页
                    </a>
                </li>
            
                <li>
                    <a href= /page/archieves/ >
                        归档
                    </a>
                </li>
            
                <li>
                    <a href= /page/about/ >
                        关于
                    </a>
                </li>
            
                <li>
                    <a href= /page/cards/ >
                        卡片集
                    </a>
                </li>
            
        </ul>
    </div>
</header>

        <div id="container">
            <section id="main">
                
    <article id="post" class="card">
    <div id="post-title">
        <h1>【建站拾橞】第一期：git 初探与基础应用</h1>
    </div>
    <div id="post-cotent">
        <p>因为个人喜好，我学习了相关的基础知识，搭建了这个静态博客。在这摸索的过程中，我学到了许多东西，希望记录下一些应用心得。第一期的内容，主要是结合经历，对 git 的基础操作有个记录。</p>
<h2 id="git-初探什么是-git-与为什么用它">git 初探——什么是 git 与为什么用它</h2>
<p>刚开始我在网上看到与博客相关的文章中，用到一些静态站点生成器结合 github page。那时候的感觉是：哇，这就是极客风啊！不得不说，一些英文单词加英文网站，就能很好的体现逼格的感觉。但其实，由于现在计算机的大规模解析是按照英文字母对于而来，而且中文拼音有太多歧义，所以才造成英文仿佛是计算机中的贵族。</p>
<p>我向来只是喜欢探讨这种情况的普适价值和使用价值的。如果在最开始的计算机中的二进制与中文字符对应解析，并尽量确定规范，没准全世界得学中文呢~当然，我这里的论断，仅仅体现了一种看法。我仅仅想借此表现出：</p>
<blockquote>
<p>学习 git 过程中，乃至于学习各种计算机知识的过程中，英文是绕不过去的坎。我们也没必要了解所有的英文单词，但对一些操作中需要了解的，就顺手了解一下也不为过，一切以应用为主，万事万物为我所用为上。</p>
</blockquote>
<p>谈了一大段的态度问题，我们就进入了看待这个 <code>git</code> 所代表的含义。在这里，git 仅仅是一个工具，相当于一个软件，只不过它一般是没有界面可供操作，也就是命令行软件，当然也有一些相关的图形界面类软件可供使用。它所能代表的含义也仅仅只不过是如同 <code>QQ</code> 这个名字对于 QQ 本身的意义，一个叫法，以及可以用来特指内部的一些指令，如：QQ 截图，QQ 秀……</p>
<p>如果说你了解了 git 这个名字的意义之后，我想你已经不厌其烦的想要了解它是怎么用的了，没用我了解他干什么？</p>
<p>在这里，我仅结合我所了解和所学的，对 git 的基本应用给出一个说明：</p>
<ul>
<li>它能够记录文件的不同版本变化，方便查找、对比文件更新过程中差异</li>
<li>它有着一些平台支持，方便将相关资料或源文件保留于云端备份</li>
<li>它的开源属性满足个人使用，方便个人做相关备份</li>
<li>一些开源平台上基于它托管着许多开源项目，给人方便学习</li>
</ul>
<p>那从这些功能中我找到了一些学习 git 的必要：</p>
<ul>
<li>版本追踪，方便我恢复和对比</li>
<li>云端备份，方便我对一些项目或者内容的管理</li>
<li>开源属性，给我一种安全的感觉</li>
<li>开源平台，让我能够探索学习</li>
</ul>
<h2 id="git-的基本指令">git 的基本指令</h2>
<p>谈到 git ，网上有许多相关的学习教程，那些静态博客建站刚开始，也都呼吁学习一下 git 的相关操作。我也不可能写出什么新意，所以我仅仅对我用到的一些指令做一个记录和总结。</p>
<h3 id="git-仓库建立与第一次提交更改">git 仓库建立与第一次提交更改</h3>
<p>git 中的仓库（英文：Repository，有时缩写：repo），其实就是一个项目或者一个目录的称呼。不过因为在根目录使用 <code>git init</code> 指令，会新生成一个 <code>.git</code> 文件夹，其中保存了相关的版本的信息，就像是储存了所有的项目更替信息的仓库一样。</p>
<p>在这里，着重说明一下，git 的基本操作来给我们的静态博客的源文件进行一个备份。现在我的博客使用的是 Hugo 生成，也就是在我博客的根目录，我使用了如下命令：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">git init
git add .
git commit -m <span class="s2">&#34;first commit&#34;</span>
</code></pre></td></tr></table>
</div>
</div><p>上述三句语句的说明：</p>
<ul>
<li><code>git init</code> 命令执行后会新生成一个 <code>.git</code> 文件夹，此时我们已经算是建立了 git 仓库，此命令一般仅用于第一次创建版本库。</li>
<li><code>git add .</code> 表示将所有更改保存到暂存区，可以认为是一次小保险。其中 <code>git add</code> 后接某一文件，或者通配符匹配的文件也可以来提交更改保存。当然，git add .和 git add &ndash;all 是有一定区别的，你可以根据区别需求操作，我从网上找了个说明：<a href="https://www.cnblogs.com/skura23/p/5859243.html">git add -A 和 git add . 的区别</a></li>
<li><code>git commit -m &quot;first commit&quot;</code> 是用于将暂存区的所有更改做一次整体提交。其中 git commit 为主要命令，因为整个提交需要加上说明的信息（英文 message，缩写为 m）。当然，你也可以找到不加这个参数的方法，但我建议加上以来区分更改，此处不提供方法指引。</li>
</ul>
<h3 id="添加远程库与推送">添加远程库与推送</h3>
<p>为了能够借用平台托管的优势，可能会有添加远程库的需要。此处以 github 为例，添加远程库，并进行第一次推送。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">git add remote origin https://github.com/yi-Xu-0100/www.yixuju.cn.git
git push origin master
</code></pre></td></tr></table>
</div>
</div><p>命令说明：</p>
<ul>
<li><code>git add remote origin https://github.com/yi-Xu-0100/www.yixuju.cn.git</code> ，此命令是将 GitHub 中的位置添加到这个仓库的远程库列表中。</li>
<li><code>git push origin master</code> 此命令是将当前仓库的 master 分支推送到远程库分支上。</li>
<li>这两个命令有一些要求，第一个命令的远程库链接是由 github 创建库后获得。第二个命令没有特殊情况，此时应该保持远程库中为空，以避免合并更改问题。</li>
<li>从网上找了个 GitHub 建立新仓库的参考文章，真的详细！<a href="https://blog.csdn.net/acmman/article/details/77621253">【Git】1.创建 GitHub 仓库</a> 。</li>
</ul>
<h3 id="github-的一些相关指令">github 的一些相关指令</h3>
<p>为了很好的对 GitHub 进行链接，有一些指令也是要了解的：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">git config --global user.name <span class="s2">&#34;yourname&#34;</span>
git config --global user.email <span class="s2">&#34;your_email@youremail.com&#34;</span>
git -T git@github.com
</code></pre></td></tr></table>
</div>
</div><p>命令说明：</p>
<ul>
<li>前两个命令分别在全局上注释了你的名字和邮件地址，第三个命令验证与 github 的链接。</li>
<li>可能会提示将 GitHub 添加到信任列表，可以选 yes。</li>
</ul>
<p>如果想要实现免密链接 GitHub 平台，生成 ssh 密钥指令如下：</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">ssh-keygen -t rsa -C <span class="s2">&#34;your_email@youremail.com&#34;</span>
</code></pre></td></tr></table>
</div>
</div><p>通过 GitHub 添加密钥后，可以使用 <code>ssh -T git@github.com</code> 验证一下链接情况。</p>
<blockquote>
<p>这篇文章讲解的非常详细。推荐阅读：<a href="https://blog.csdn.net/acmman/article/details/77621253">【Git】1.创建 GitHub 仓库</a></p>
</blockquote>
<h2 id="hugo-搭建过程中的进阶操作">hugo 搭建过程中的进阶操作</h2>
<p>搭建过程中，为了更好的满足静态博客站点的要求，对仓库有一些特殊要求。其中免密链接，在上面已经说过，但是对强制更新站点等一些操作还要说明。但这些对于一般的 git 是没必要的，当操作是如此的破坏性时，其实说不上是 git 的美感，只不过是利用了 git 的链接操作方便而已。</p>
<h3 id="静态站点的含义">静态站点的含义</h3>
<p>静态博客，本质上就是一些目录清晰的 html 文件放在服务器上固定的位置供人访问。那么诸如 hexo 、 hugo 这类的静态站点生成器，则是根据需求和固定模板，将写好的文件，对应生成上述的 html 文件与目录。对源文件我们可以使用 GitHub 托管、保存修改记录，而对于生成的站点，我们也可以如此。而在服务器方面，直接通过 GitHub 下载，就可以将我们的站点部署在对应的位置。</p>
<h3 id="重新恢复结构">重新恢复结构</h3>
<p>为了防止诸如重装系统，换电脑这样的备份恢复活动， GitHub 提供了很好的托管恢复功能。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">git clone https://github.com/yi-Xu-0100/www.yixuju.cn.git
</code></pre></td></tr></table>
</div>
</div><p>使用上述命令，会将云端数据下载到本地。当然，如果你是站点生成，当然是下载源文件上传的那个仓库，记得更改好需要下载的地址。</p>
<h3 id="强制推送">强制推送</h3>
<p>为了方便将本地数据强制覆盖云端数据，因为静态站点的改动会有点大，不如重新生成，所以使用强制推送命令。当然这个命令有一定的破坏性，希望使用者知晓这样操作的后果。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">git push -f origin master
</code></pre></td></tr></table>
</div>
</div><h3 id="拉取与强制拉取">拉取与强制拉取</h3>
<p>拉取（英文：pull）是为了将云端的进度拉取到本地，主要是为了方便多人合作项目。但对于静态站点，为了版本更替，需要拉取云端数据强制完全覆盖本地数据，所以需要用到强制拉取，此处仅提供相关指令以供参考。</p>
<ul>
<li>
<p>拉取</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">git pull origin master
</code></pre></td></tr></table>
</div>
</div></li>
<li>
<p>强制拉取</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">git fetch --all
git reset --hard origin/master
git pull
</code></pre></td></tr></table>
</div>
</div></li>
</ul>
<h2 id="最后说明">最后说明</h2>
<p>本次文章结构仅按照指令和应用所写，作为个人的记录，内容已经算是详实。对于我现在所需操作，这些已足够囊括。还有的更好的操作可能会在后面的内容中补充，毕竟我对版本控制还没有很好的体会。</p>
    </div>
    <div id="copyright" class="card">

    <div><span> 文章标题：【建站拾橞】第一期：git 初探与基础应用</span>
    </div>


    <div><span> 文章作者：yi_Xu</span>
    </div>


    <div>文章标签：
      <a href="https://www.yixuju.cntags/git/">#git&nbsp</a>
      <a href="https://www.yixuju.cntags/github/">#github&nbsp</a>
      <a href="https://www.yixuju.cntags/hexo/">#hexo&nbsp</a>
      <a href="https://www.yixuju.cntags/hugo/">#hugo&nbsp</a>
    </div>



    <div>创建时间：<time datetime=2019-01-25></time>2019-01-25 | 最新更新于：<time datetime=2019-01-25></time>2019-01-25
    </div>

    <div>原始链接：https://www.yixuju.cn/other/the-gains-from-personal-blog-building-1/<span class="copy-path" title="点击复制文章链接" data-clipboard-demo="" data-clipboard-action="copy" data-clipboard-text='https://www.yixuju.cn/other/the-gains-from-personal-blog-building-1/' aria-label="复制成功！"><i class="icon-copy"></i></span>
    </div>

    <div>许可协议：<a rel="license nofollow" href="http://creativecommons.org/licenses/by-nc/4.0/" target="_blank rel="nofollow">知识共享署名-非商业性使用 4.0 国际许可协议</a>
    </div>

</div>
</article>

    
        <div class=" card pagination">
        
            <a class="button prev-page" href=/other/rebuild-hexo/ title=重启Hexo>
                上一页
            </a>
        
            
            <a class="button next-page" href= /other/talking-about-proxy/ title=在&#32;Windows&#32;终端中设置代理>
                下一页
            </a>
            
        </div>
    


            </section>
            <section id="sidebar">
                
    <aside class="sidebar">
  <div id="avatar" class="card">
      <a href=/page/about>
          <img class="animated zoomIn" id="avatar-img" src=/img/avatar.jpg alt=yi_Xu>
      </a>
      <div id="motto">
          <span>品水如酒，愚醉……</span>
      </div>
  </div>
  <div id="categories" class="card">
      <div class="card-title sidebar-title">文章分类</div>
      
      <li class="category">
          <a href=/programming/>编程体验</a>
          
              
                  <ol class="subcategory">
                      <a href=/programming/batch/>batch</a>
                  </ol>
              
                  <ol class="subcategory">
                      <a href=/programming/python/>python</a>
                  </ol>
              
          
      </li>
      
      <li class="category">
          <a href=/other/>其他分享</a>
          
      </li>
      
      <li class="category">
          <a href=/blog/>生活感悟</a>
          
      </li>
      
  </div>
  <div id="communication" class="card">
    <div class="card-title sidebar-title">联系方式</div>
    
    <li class="communication-list">
      <span>GitHub: <a href="https://github.com/yi-Xu-0100" target="_blank" rel="nofollow">@yi-Xu-0100</a></span>
    </li>
    
    <li class="communication-list">
      <span>TG 频道: <a href="https://t.me/yixuju_notify" target="_blank" rel="nofollow">t.me/yixuju_notify</a></span>
    </li>
    
    <li class="communication-list">
      <span>TG 群组: <a href="https://t.me/yixuju" target="_blank" rel="nofollow">t.me/yixuju</a></span>
    </li>
    
    <li class="communication-list">
      <span>QQ 群组: <a href="https://jq.qq.com/?_wv=1027&amp;k=XKIJXRol" target="_blank" rel="nofollow">495793229</a></span>
    </li>
    
    <li class="communication-list">
      <span>联系邮箱: <a href="mailto:yi_Xu@yixuju.cn" target="_blank" rel="nofollow">yi_Xu@yixuju.cn</a></span>
    </li>
    
    <li class="communication-list">
      <span>微信公众号: <a href="" target="_blank" rel="nofollow">逸絮居</a></span>
    </li>
    
</div>
</aside>
    
    <aside class="sidebar">
        <div id="post-menu" class="card">
            <div class="card-title sidebar-title">目录</div>
            <div id="toc"><nav id="TableOfContents">
  <ul>
    <li><a href="#git-初探什么是-git-与为什么用它">git 初探——什么是 git 与为什么用它</a></li>
    <li><a href="#git-的基本指令">git 的基本指令</a>
      <ul>
        <li><a href="#git-仓库建立与第一次提交更改">git 仓库建立与第一次提交更改</a></li>
        <li><a href="#添加远程库与推送">添加远程库与推送</a></li>
        <li><a href="#github-的一些相关指令">github 的一些相关指令</a></li>
      </ul>
    </li>
    <li><a href="#hugo-搭建过程中的进阶操作">hugo 搭建过程中的进阶操作</a>
      <ul>
        <li><a href="#静态站点的含义">静态站点的含义</a></li>
        <li><a href="#重新恢复结构">重新恢复结构</a></li>
        <li><a href="#强制推送">强制推送</a></li>
        <li><a href="#拉取与强制拉取">拉取与强制拉取</a></li>
      </ul>
    </li>
    <li><a href="#最后说明">最后说明</a></li>
  </ul>
</nav></div>
        </div>
    </aside>


            </section>
        </div>
        <footer>
    <a  
            href="mailto:yi_Xu@yixuju.cn"
            target = "_blank"
        
        target = "_self" rel="nofollow">
            &copy; 2014 - 2022 yi_Xu
    </a>
    <i class="icon-lightbulb"></i>
    <a href="https://gohugo.io/" target="_blank" rel="nofollow">Power_by Hugo 0.80.0</a>
    <i class="icon-coffee"></i>
    <a href="https://github.com/yi-Xu-0100/hugo-theme-whiteink" target="_blank">Theme_by WhiteInk</a>
    
        <i class="icon-legal"></i>
        <a href="https://beian.miit.gov.cn/" target="_blank" rel="nofollow">鲁 ICP 备 17049362 号</a>
    
</footer>
    </body>
</html>